package com.Ngbussiness.server;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import com.Ngbussiness.dao.modul_categoryDao;
import com.Ngbussiness.dao.yongjinDao;
import com.Ngbussiness.dao.impl.modul_categoryDaoImpl;
import com.Ngbussiness.dao.impl.yongjinDaoImpl;
import com.Ngbussiness.util.DataTools;

public class getnearbusinessServlet extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		int distance=Integer.parseInt(request.getParameter("distance"));
		double longitude=Double.parseDouble(request.getParameter("longitude"));
		double latitude = Double.parseDouble(request.getParameter("latitude"));
		String category1 = request.getParameter("category1");
		String category2 = request.getParameter("category2");
		int page = Integer.parseInt(request.getParameter("page"));
		modul_categoryDao mc = new modul_categoryDaoImpl();
		int category1id = mc.getcg1Id(DataTools.HexStringhtoString(category1));
		System.out.println("1" + DataTools.HexStringhtoString(category1));
		int category2id = mc.getcg1Id(DataTools.HexStringhtoString(category2));
		System.out.println("2" + DataTools.HexStringhtoString(category2));
		int rows = 10;
		yongjinDao yj = new yongjinDaoImpl();
		List list=yj.getnearbus(page,distance,longitude,latitude,category1id,category2id,rows);
		if(list.size()>0){
			for(int i=0;i<list.size();i++){
			HashMap adu=(HashMap)list.get(i);
			String img_url=adu.get("img_url").toString();
			img_url="http://60.169.79.144/Ngbussiness/"+img_url;
			adu.put("img_url",img_url);
					}
			JSONArray json=JSONArray.fromObject(list);
			out.print(json);
		}
		else{
			out.print("error");
		}
		out.flush();
		out.close();
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
            doGet(request,response);
	}

}
